package circuit1;

/*
 * Borovicska Szglab4 2011
 * @package circuit1
 */
/**
 *
 * @author Erik
 */
public class Generator extends SignalSource {

    /**
     * A jelet tarolja stringben
     */
    private String signal;
    
    /**
     * Hanyadik bitnel tart a generator
     */
    private int bitOut;

    /**
     * Konstruktor
     */
    public Generator() {
        bitOut = 0;
    }

    /**
     * Beallitja a generator jelet
     * @param value 
     */
    public void setSignal(String value) {
        signal = value;
    }
    
    public String getSignal() {
        return signal;
    }
    
    public String getSign() {
        return signal.substring(bitOut, bitOut+1);
    }

    /**
     * Megboki a generatort - kiteszi az output vezetekre az erteket
     */
    public void prod() {
        if(signal.charAt(bitOut) == '0')
        output.setValue(false);
        else if(signal.charAt(bitOut) == '1')
        output.setValue(true);
    }

    /**
     * Lepteti a generatort bitjet
     */
    public void nextBit() {
        bitOut++;
        if (bitOut == signal.length()) {
            bitOut = 0;
        }
    }

    /**
     * Lepteti a generatort es visszaadja az erteket
     * @return 
     */
    public boolean act() {
        nextBit();
        return signal.charAt(bitOut) == 0 ? false : true;
    }
    
    public boolean getOut(){
        return signal.charAt(bitOut) == 0 ? false : true;
    }
}

